package com.patent.domain.po;

import java.util.Date;

public class Patent {
	//主键自增
    private Integer id;
    //专利号
    private String applicationNo;
	//专利类型
    private String patentType;
	//发明名称
    private String title;
	//申请日
    private String filingDate;
	//案件状态
    private String caseStatus;
	//一般状态
    private String generalStatus;
	//公布日期
    private Date publicationDate;
	//公布号
    private String publicationNo;
	//公告日期
    private Date issueAnnouncement;
	//公告号
    private String issueNo;
	//申请人（多个申请人用逗号隔开）
    private String applicants;
	//发明人/设计人
    private String inventors;
	//代理机构名称
    private String ipAgency;
	//第一代理人
    private String firstNamedAttorney;
	//更新时间
    private Integer updatedAt;
	//基本信息更新时间
    private Integer basicUpdatedAt;
	//公布公告信息更新时间
    private Integer publicationUpdatedAt;
	//费用信息页更新时间
    private Integer paymentUpdatedAt;

    //监控表中的id
    private Integer monitorId;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getApplicationNo() {
        return applicationNo;
    }

    public void setApplicationNo(String applicationNo) {
        this.applicationNo = applicationNo == null ? null : applicationNo.trim();
    }

    public String getPatentType() {
        return patentType;
    }

    public void setPatentType(String patentType) {
        this.patentType = patentType == null ? null : patentType.trim();
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title == null ? null : title.trim();
    }

    public String getFilingDate() {
        return filingDate;
    }

    public void setFilingDate(String filingDate) {
        this.filingDate = filingDate == null ? null : filingDate.trim();
    }

    public String getCaseStatus() {
        return caseStatus;
    }

    public void setCaseStatus(String caseStatus) {
        this.caseStatus = caseStatus == null ? null : caseStatus.trim();
    }

    public String getGeneralStatus() {
        return generalStatus;
    }

    public void setGeneralStatus(String generalStatus) {
        this.generalStatus = generalStatus == null ? null : generalStatus.trim();
    }

    public Date getPublicationDate() {
        return publicationDate;
    }

    public void setPublicationDate(Date publicationDate) {
        this.publicationDate = publicationDate;
    }

    public String getPublicationNo() {
        return publicationNo;
    }

    public void setPublicationNo(String publicationNo) {
        this.publicationNo = publicationNo == null ? null : publicationNo.trim();
    }

    public Date getIssueAnnouncement() {
        return issueAnnouncement;
    }

    public void setIssueAnnouncement(Date issueAnnouncement) {
        this.issueAnnouncement = issueAnnouncement;
    }

    public String getIssueNo() {
        return issueNo;
    }

    public void setIssueNo(String issueNo) {
        this.issueNo = issueNo == null ? null : issueNo.trim();
    }

    public String getApplicants() {
        return applicants;
    }

    public void setApplicants(String applicants) {
        this.applicants = applicants == null ? null : applicants.trim();
    }

    public String getInventors() {
        return inventors;
    }

    public void setInventors(String inventors) {
        this.inventors = inventors == null ? null : inventors.trim();
    }

    public String getIpAgency() {
        return ipAgency;
    }

    public void setIpAgency(String ipAgency) {
        this.ipAgency = ipAgency == null ? null : ipAgency.trim();
    }

    public String getFirstNamedAttorney() {
        return firstNamedAttorney;
    }

    public void setFirstNamedAttorney(String firstNamedAttorney) {
        this.firstNamedAttorney = firstNamedAttorney == null ? null : firstNamedAttorney.trim();
    }

    public Integer getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Integer updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Integer getBasicUpdatedAt() {
        return basicUpdatedAt;
    }

    public void setBasicUpdatedAt(Integer basicUpdatedAt) {
        this.basicUpdatedAt = basicUpdatedAt;
    }

    public Integer getPublicationUpdatedAt() {
        return publicationUpdatedAt;
    }

    public void setPublicationUpdatedAt(Integer publicationUpdatedAt) {
        this.publicationUpdatedAt = publicationUpdatedAt;
    }

    public Integer getPaymentUpdatedAt() {
        return paymentUpdatedAt;
    }

    public void setPaymentUpdatedAt(Integer paymentUpdatedAt) {
        this.paymentUpdatedAt = paymentUpdatedAt;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Patent other = (Patent) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getApplicationNo() == null ? other.getApplicationNo() == null : this.getApplicationNo().equals(other.getApplicationNo()))
            && (this.getPatentType() == null ? other.getPatentType() == null : this.getPatentType().equals(other.getPatentType()))
            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
            && (this.getFilingDate() == null ? other.getFilingDate() == null : this.getFilingDate().equals(other.getFilingDate()))
            && (this.getCaseStatus() == null ? other.getCaseStatus() == null : this.getCaseStatus().equals(other.getCaseStatus()))
            && (this.getGeneralStatus() == null ? other.getGeneralStatus() == null : this.getGeneralStatus().equals(other.getGeneralStatus()))
            && (this.getPublicationDate() == null ? other.getPublicationDate() == null : this.getPublicationDate().equals(other.getPublicationDate()))
            && (this.getPublicationNo() == null ? other.getPublicationNo() == null : this.getPublicationNo().equals(other.getPublicationNo()))
            && (this.getIssueAnnouncement() == null ? other.getIssueAnnouncement() == null : this.getIssueAnnouncement().equals(other.getIssueAnnouncement()))
            && (this.getIssueNo() == null ? other.getIssueNo() == null : this.getIssueNo().equals(other.getIssueNo()))
            && (this.getApplicants() == null ? other.getApplicants() == null : this.getApplicants().equals(other.getApplicants()))
            && (this.getInventors() == null ? other.getInventors() == null : this.getInventors().equals(other.getInventors()))
            && (this.getIpAgency() == null ? other.getIpAgency() == null : this.getIpAgency().equals(other.getIpAgency()))
            && (this.getFirstNamedAttorney() == null ? other.getFirstNamedAttorney() == null : this.getFirstNamedAttorney().equals(other.getFirstNamedAttorney()))
            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()))
            && (this.getBasicUpdatedAt() == null ? other.getBasicUpdatedAt() == null : this.getBasicUpdatedAt().equals(other.getBasicUpdatedAt()))
            && (this.getPublicationUpdatedAt() == null ? other.getPublicationUpdatedAt() == null : this.getPublicationUpdatedAt().equals(other.getPublicationUpdatedAt()))
            && (this.getPaymentUpdatedAt() == null ? other.getPaymentUpdatedAt() == null : this.getPaymentUpdatedAt().equals(other.getPaymentUpdatedAt()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getApplicationNo() == null) ? 0 : getApplicationNo().hashCode());
        result = prime * result + ((getPatentType() == null) ? 0 : getPatentType().hashCode());
        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
        result = prime * result + ((getFilingDate() == null) ? 0 : getFilingDate().hashCode());
        result = prime * result + ((getCaseStatus() == null) ? 0 : getCaseStatus().hashCode());
        result = prime * result + ((getGeneralStatus() == null) ? 0 : getGeneralStatus().hashCode());
        result = prime * result + ((getPublicationDate() == null) ? 0 : getPublicationDate().hashCode());
        result = prime * result + ((getPublicationNo() == null) ? 0 : getPublicationNo().hashCode());
        result = prime * result + ((getIssueAnnouncement() == null) ? 0 : getIssueAnnouncement().hashCode());
        result = prime * result + ((getIssueNo() == null) ? 0 : getIssueNo().hashCode());
        result = prime * result + ((getApplicants() == null) ? 0 : getApplicants().hashCode());
        result = prime * result + ((getInventors() == null) ? 0 : getInventors().hashCode());
        result = prime * result + ((getIpAgency() == null) ? 0 : getIpAgency().hashCode());
        result = prime * result + ((getFirstNamedAttorney() == null) ? 0 : getFirstNamedAttorney().hashCode());
        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
        result = prime * result + ((getBasicUpdatedAt() == null) ? 0 : getBasicUpdatedAt().hashCode());
        result = prime * result + ((getPublicationUpdatedAt() == null) ? 0 : getPublicationUpdatedAt().hashCode());
        result = prime * result + ((getPaymentUpdatedAt() == null) ? 0 : getPaymentUpdatedAt().hashCode());
        return result;
    }

	public Integer getMonitorId() {
		return monitorId;
	}

	public void setMonitorId(Integer monitorId) {
		this.monitorId = monitorId;
	}
}